#include<stdio.h>
#include<stdlib.h>

void distinguish_premier(int n){
    int i;
    if(n<2)printf("0");
	else 
	{
		int flag=1;//1表示是质数，0表示不是质数
		for(i=2;i*i<=n;i++)//这里为什么是i*i是因为 只需要从2开始判断到根号n就可以
		{
			if(n%i==0)//合数，存在质因子
			{
				flag=0;
				break;
			}
		}
		if(flag==1)printf("%d",n);
		else
		{
			printf("%d=%d",n,i);
			n=n/i;
			for(int j=2;j<=n;j++)
			{
				if(n%j==0)
				{
					while(n%j==0)
					{
						printf("*%d",j);
						n=n/j;
					}
				}
			}
			
		}
	}
}
int main()
{
	int n;
	scanf("%d",&n);
	distinguish_premier(n);
    return 0;
}
